<html>
				<head>
				<meta http-equiv="content-type" content="text/html; charset=UTF-8">
				</head>
				<body><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=ADJTIME&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">ADJTIME(2)</a> FreeBSD System Calls Manual <a href="http://www.freebsd.org/cgi/man.cgi?query=ADJTIME&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">ADJTIME(2)</a></pre>
<pre>
<b>名称</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adjtime -- 较正时间，使之与系统时钟同步</pre>
<pre>
<b>库</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Standard C Library (libc, -lc)</pre>
<pre>
<b>概要</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include &lt;<font color="dark">sys/time.h</font>&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="red">int</font> <font color="blue">adjtime</font>(<font color="red">const struct timeval*</font> <font color="green">delta</font>, <font color="red">struct timeval*</font> <font color="green">olddelta</font>);</pre>
<pre>
<b>详述</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>adjtime()</font>系统调用按时间值<font color="green">delta</font>来微调系统时间（比如<a href="http://www.freebsd.org/cgi/man.cgi?query=gettimeofday&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">gettimeofday(2)</a>返回的时间）。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若<font color="green">delta</font>为负，时钟将慢走直到较正结束；若为正，时钟将走快。通常以1％幅度来调整
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时钟的走速。因此，时间的变化通常是一个单调递增函数。当调用<font color=blue>adjtime()</font>后再次调用，
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之前调用的时间较正可能还未完成。若<font color="green">olddelta</font>不为NULL，它指向的结构体在函数返回后
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将包含之前调用未完成的、仍须较正的微秒（百万分之一秒）数。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该系统调用可用于时间服务器来同步局域网内其它计算机的时钟。时间服务器将调慢某些
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;走快的计算机，调快某些走慢的计算机，使它们同步到平均网络时间。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>adjtime()</font>系统调用只能由超级用户调用。</pre>
<pre>
<b>返回值</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;执行成功时返回0，否则返回-1并设置errno来指示错误。</pre>
<pre>
<b>错误</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>adjtime()</font>失败时将设置errno为下列错误常量：
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EFAULT]		函数参数指向的地址超出了进程的存取空间
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EPERM]			调用者的实际或有效用户ID不是超级用户</pre>
<pre>
<b>参见</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.freebsd.org/cgi/man.cgi?query=date&sektion=1&apropos=0&manpath=FreeBSD+6.1-RELEASE">date(1)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=gettimeofday&sektion=2&apropos=0&manpath=FreeBSD+6.1-RELEASE">gettimeofday(2)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=timed&sektion=8&apropos=0&manpath=FreeBSD+6.1-RELEASE">timed(8)</a>, <a href="http://www.freebsd.org/cgi/man.cgi?query=timedc&sektion=8&apropos=0&manpath=FreeBSD+6.1-RELEASE">timedc(8)</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R. Gusella and S. Zatti, TSP:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=green><u>The Time Synchronization Protocol for UNIX 4.3BSD.</u></font></pre>
<pre>
<b>历史</b>:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=blue>adjtime()</font>系统调用在4.3BSD里首次出现。</pre>
</pre>
</body></html>